作业分发概述
ACK One多集群作业分发是阿里云面向多集群和混合云场景提供的多集群AI作业调度和分发的能力。当单一ACK集群无法满足大规模AI训练和推理任务的资源需求,或当前已有的多个ACK集群有较多资源闲置时,您可以利用ACK One多集群作业分发能力,将任务调度到多个集群,以满足您的资源需求。
功能特性
ACK One 多集群作业分发,具有以下能力:
支持多种作业类型:PyTorchJob、SparkApplication、TFJob。
多集群Gang调度:通过预占或动态资源检测,实现作业的多集群Gang调度,确保任务下发到子集群后能够调度,提升任务调度效率。
多租户配额管理:用户可以使用ElasticQuotaTree提供的基于Namespace的资源管理,在多租户场景下限制各租户的资源使用量。
任务优先级调度:依据用户在AI任务中的
PodTemplate
中定义的PriorityClass
,确保高优先级任务优先获得集群资源。多种任务排队策略配置:您可以灵活定义各队列的排队策略,满足优先提高集群利用率或优先保证任务优先级两种使用方式,支持阻塞调度模式和非阻塞调度模式。
作业失败后的重调度:作业在子集群中失败后,Global Scheduler将回收该作业,并对其进行重调度,调度到其他符合条件且资源充足的集群。
工作原理
向舰队提交PyTorchJob、SparkApplication或TFJob的类型作业和分发策略
PropagationPolicy
。舰队对作业进行优先级调度和租户配额管理Capacity Scheduling。
舰队中的Global Scheduler,对出队列的作业进行多集群动态资源调度和多集群Gang调度,对满足条件的集群进行资源预占或动态资源检查,调度失败则重新入队列。
调度成功后,作业按策略分发到对应的ACK集群中。
若作业运行失败,Global Scheduler将回收作业,并对其进行重调度,调度到其他符合条件且资源充足的集群。